package com.ce.webframework.sec.service;

import java.util.List;

import com.ce.webframework.sec.model.SecDragSourceDO;
import com.sitechasia.webx.core.service.IBaseService;

/**
 * 拖动源manager接口
 *
 */
public interface ISecDragSourceService extends IBaseService {

	/**
	 * 功能描述:返回当前用户选择的模块
	 * @param userId  用户标识
	 * @param funcEntityIds 权限标识 集合
	 * @param epId  企业标识
	 * @return SecDragSourceDO 集合
	 */
	public List<SecDragSourceDO> getUseModels(Long userId,List<String> funcEntityIds, Long epId);

	/**
	 * 功能描述:应用模块
	 * @param userId  用户标识
	 * @param dragSourceTempId  拖动源模板标识
	 * @param dragTargetId  容器标识
	 * @param orderNum  顺序号
	 * @param epId  企业标识
	 * @return 无
	 */
	public void applyUse(Long userId, String dragSourceTempId, String dragTargetId, int orderNum, Long epId);

	/**
	 * 功能描述:更新模块位置
	 * @param dragSourceTempId  拖动源模板标识
	 * @param orderNum  顺序号
	 * @param userId  用户标识
	 * @param epId  企业标识
	 * @return 无
	 */
	public void updateModelSite(String dragSourceTempId
			, String dragTargetId, int orderNum, Long userId, Long epId);

	/**
	 * 功能描述:取消模块的应用
	 * @param userId  用户标识
	 * @param dragSourceTempId  拖动源模板标识
	 * @param epId  企业标识
	 * @return 无
	 */
	public void appleUnuse(Long userId, String dragSourceTempId, Long epId);

}
